// TOWN SPECIAL ENCOUNTERS
//    Town 33: Upper Golem Factory

beginzonescript;

variables;

short im_hostile = 0;
short max_crime = 200;
short last_abil;
short counter = 0;
short set_ter = 0;
short set_ter2 = 0;
short store_val = -1;

body;

beginstate INIT_STATE;
	last_abil = get_current_tick();

//	set_name(,);
//	add_range_to_group(,,groupn);


	set_crime_tolerance(max_crime);
	if (gf(32,22) > 0)  
		set_terrain(0,11,19,313);
		else set_terrain(0,11,19,309);
		
	
	break;

beginstate EXIT_STATE;
break;

beginstate START_STATE;
	// alpah beam
	if ((gf(32,22) > 0) && (set_ter2 == 0)) {
		set_ter2 = 1;
		set_terrain(0,11,19,313);
		}
		
	// center galleries, try not to do this too long to save time
	if (store_val != gf(33,11)) {
		store_val = gf(33,11);
		set_terrain(0,25,30,309);
		set_terrain(0,25,31,309);
		set_terrain(0,25,32,309);
		set_terrain(0,25,33,309);
		if (gf(33,11) == 1) {
			set_terrain(0,25,30,313);
			set_terrain(0,25,31,313);
			set_terrain(0,25,32,313);
			set_terrain(0,25,33,313);
			}
	
		set_terrain(0,30,39,309);
		set_terrain(0,31,39,309);
		set_terrain(0,32,39,309);
		set_terrain(0,33,39,309);
		if (gf(33,11) == 2) {
			set_terrain(0,30,39,313);
			set_terrain(0,31,39,313);
			set_terrain(0,32,39,313);
			set_terrain(0,33,39,313);
			}
	
		set_terrain(0,38,30,309);
		set_terrain(0,38,31,309);
		set_terrain(0,38,32,309);
		set_terrain(0,38,33,309);
		if (gf(33,11) == 3) {
			set_terrain(0,38,30,313);
			set_terrain(0,38,31,313);
			set_terrain(0,38,32,313);
			set_terrain(0,38,33,313);
			}
	
		set_terrain(0,30,25,309);
		set_terrain(0,31,25,309);
		set_terrain(0,32,25,309);
		set_terrain(0,33,25,309);
		if (gf(33,11) == 4) {
			set_terrain(0,30,25,313);
			set_terrain(0,31,25,313);
			set_terrain(0,32,25,313);
			set_terrain(0,33,25,313);
			}
		}
		
	if (((is_combat()) && (tick_difference(last_abil,get_current_tick()) > 0)) || ((is_town()) && (tick_difference(last_abil,get_current_tick()) > 0))) {
		last_abil = get_current_tick();
		counter = counter + 1;
		if (counter == 13)
			counter = 0;
		if (gf(308,0) > 0)
			counter = 0;
		
		if (counter == 6)
			print_str_color("You hear the factory start to charge up.",2);
		if (counter == 6)
			print_str_color("The factory sends power to the beam projectors.",2);
		if (counter > 6) {
			set_terrain(0,28,29,309);
			set_terrain(0,30,31,309);
			set_terrain(0,32,30,309);
			set_terrain(0,31,33,309);
			set_terrain(0,33,32,309);
			set_terrain(0,28,36,309);
			}
			else {
				set_terrain(0,28,29,313);
				set_terrain(0,30,31,313);
				set_terrain(0,32,30,313);
				set_terrain(0,31,33,313);
				set_terrain(0,33,32,313);
				set_terrain(0,28,36,313);
				}
		}

break;

beginstate 10;
break;

beginstate 11;
break;

beginstate 12;
break;

beginstate 13;
break;

beginstate 14;
break;

//	print_str("");
//	set_terrain_string_range("",1);
//	set_terrain_string_range("The sign says - .",1);

